const express = require('express');
const router = express.Router();
const { Setting } = require('../../models')
const { success, failure } = require('../../utils/responses');
const{NotFoundError}=require('../../utils/errors')

//查询系统设置详情
router.get('/', async function (req, res) {
    try {
        const setting = await getSetting()
        success(res, '查询系统设置成功', { setting })

    } catch (error) {
        failure(res, error)
    }

})
//更新系统设置
router.put('/', async function (req, res) {
    try {
        const setting = await getSetting()

        //创建白名单过滤
        const body = filterBody(req)

        //更新系统设置
        await setting.update(body)
        success(res, '更新系统设置成功', { setting })

    } catch (error) {
        failure(res, error)
    }
})

//查询当前系统设置：公共方法
async function getSetting() {
    //查询当前系统设置第一个数据
    const setting = await Setting.findOne()

    //如果系统设置不存在，抛出错误异常
    if (!setting) {
        throw new NotFoundError('初始系统设置未找到，请联系管理员')
    }
    return setting
}

// 白名单过滤：公共方法
function filterBody(req) {
    return {
        name:req.body.name,
        icp:req.body.icp,
        copyright:req.body.copyright
    }
}
module.exports = router;